package com.akuhome.resource.dao;

import com.akuhome.resource.DO.message.MessageConfig;
import com.akuhome.resource.DO.message.MessageRecord;
import com.akuhome.resource.DO.message.MessageTemplate;
import com.akuhome.resource.DO.message.MessageType;
import com.akuhome.resource.entity.Character;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface MessageDao {
    List<MessageConfig> findAllMessageConfig();
    List<MessageRecord> findAllMessageRecord();
    List<MessageTemplate> findAllMessageTemplate();
    List<MessageType> findAllMessageType();

    MessageConfig findMessageConfigById(Integer id);
    MessageRecord findMessageRecordById(Integer id);
    MessageTemplate findMessageTemplateById(Integer id);

    Integer insertMessageConfig(MessageConfig messageConfig);
    Integer insertMessageRecord(MessageRecord messageRecord);
    Integer insertMessageTemplate(MessageTemplate messageTemplate);
    void insertMessageConfigTargets(Map<String,Object> insertMap);

    Integer updateMessageTemplate(MessageTemplate messageTemplate);
    Integer updateMessageConfig(MessageConfig messageConfig);
    Integer updateMessageConfigEnableById(Integer messageConfigId,Boolean enable);

    Integer deleteMessageTemplateById(Integer messageTemplateId);
    Integer deleteMessageConfigTargetByConfigId(Map<String, Object> deleteMap);
}
